package Calculadora;

public class Calculadora {

	private Operacion operacionActual;
	private Integer resultadoParcial;
	
	public void agregarValor(Integer unValor) {
		if(resultadoParcial != null) {
			operacionActual.evaluar(resultadoParcial,unValor, this);
			}
		else {
			resultadoParcial = unValor;
		}
		
	}
	
	public void sumar(){
		
		operacionActual = new Suma();
		
	}
	
	public Integer resultado(){
		
		Integer result = new Integer(resultadoParcial);
		
		resultadoParcial = null;
		
		return result;  
		}
	
	public void dividir(){
		
		operacionActual = new Division();
	}
	
	public void restar(){
		
		operacionActual = new Resta();
	}
	
	public void multiplicar(){
		
		operacionActual = new Multiplicacion();
	}

	public void setResultado(int i) {
		
		resultadoParcial = i;
		
	}
	
	public static void main(String[] args) {
		
		Calculadora miCalculadora = new Calculadora();
		
		miCalculadora.agregarValor(5);
		miCalculadora.sumar();
		miCalculadora.agregarValor(5);
		miCalculadora.dividir();
		miCalculadora.agregarValor(2);
		

		
	}
}
